package la.foton.atividade.service;

import java.util.List;
import la.foton.atividade.dao.ClienteDAO;
import la.foton.atividade.dao.ClienteDAOImpl;
import la.foton.atividade.entity.Cliente;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("clienteService")
public class ClienteServiceImpl implements ClienteService
{

	@Autowired
   private ClienteDAO clienteDAO;

	   /*
    * (non-Javadoc)
    * @see la.foton.atividade.service.ClienteService#getAllClientes()
    */
   public List<Cliente> getAll()
   {
      return clienteDAO.findAll(Cliente.class);
	}

	   /*
    * (non-Javadoc)
    * @see la.foton.atividade.service.ClienteService#createCliente(la.foton.atividade.entity.Cliente)
    */
   public Cliente create(Cliente cliente)
   {
      return clienteDAO.save(cliente);
	}

	   /*
    * (non-Javadoc)
    * @see la.foton.atividade.service.ClienteService#updateCliente(la.foton.atividade.entity.Cliente)
    */
   public void update(Cliente cliente)
   {
      clienteDAO.update(cliente);
	}

	   /*
    * (non-Javadoc)
    * @see la.foton.atividade.service.ClienteService#deleteCliente(la.foton.atividade.entity.Cliente)
    */
   public void delete(Cliente cliente)
   {
      clienteDAO.remove(cliente);
	}
	
	   /*
    * (non-Javadoc)
    * @see la.foton.atividade.service.ClienteService#deleteCliente(la.foton.atividade.entity.Cliente)
    */
   public void deleteById(Cliente cliente)
   {
      clienteDAO.remove(Cliente.class, cliente.getId());
	}

	   /*
    * (non-Javadoc)
    * @see la.foton.atividade.service.ClienteService#setDao(la.foton.atividade.dao.ClienteDAO)
    */
   public void setDao(ClienteDAOImpl clienteDAO)
   {
      this.clienteDAO = clienteDAO;
	}

}
